package com.fh.twopointers;

/**
 * T11.盛最多水的容器
 * @author fuhao
 * @date 2025/10/14 22:09
 */
public class T11MaxArea {

    class Solution {
        public int maxArea(int[] height) {
            // 初始化左右指针和最大面积
            int left = 0;
            int right = height.length - 1;
            int maxArea = 0;

            // 当左右指针未相遇时循环
            while (left < right) {
                // 计算当前容器的面积
                int currentArea = (right - left) * Math.min(height[left], height[right]);
                // 更新最大面积
                maxArea = Math.max(maxArea, currentArea);

                // 决定移动哪边的指针：移动高度较小的一侧
                if (height[left] < height[right]) {
                    left++;
                } else {
                    right--;
                }
            }
            return maxArea;
        }
    }
}
